/*
 * RacionService.java
 *
 * Created on 29 de enero de 2008, 06:50 PM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package perucuy.services;
import java.util.List;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import perucuy.dao.DAOFactory;
import perucuy.dao.RacionDAO;
import perucuy.transfers.RacionTO;
import static perucuy.utils.Funciones.esVacio;
import static perucuy.utils.Funciones.stringToArray;
/**
 *
 * @author OMATEO
 */
public class RacionService {
    private static Logger log = Logger.getLogger(RacionService.class);
    
    RacionDAO dao = DAOFactory.getDAOFactory(DAOFactory.Tipo.SQLMAP).getRacionDAO();
  
    public void registrarRacion(RacionTO racion) {
        dao.create(racion);
        log.debug("Guardo datos de la racion");
    }

    public void actualizarRacion(RacionTO racion) {
        dao.actualizar(racion);
        log.debug("Actualizo los datos datos de la racion");
    }
   
    public int eliminarRacion(int id) {
        return dao.eliminarRacion(id);
    }
    
    public RacionTO getRacion(int id) {
        return dao.dameRacion(id);
    }
    public List getRacionCriterio(int tipo, String valor) {
        return dao.BuscarRacion(tipo, valor);
    }
   
    public List getRaciones(int tipo, String valor) {
        return dao.BuscarRacion(tipo, valor);
    }
    
    public List getListaRacionPorCadena(String cadena) {
        String[] lista = stringToArray(cadena,",");
        return dao.listadoRacionGrupo(lista);
    }
   public boolean existenError(RacionTO racion, ActionMessages msgs) {
        int error = 0;
 
        if (esVacio(racion.getVDscRacion())) {
            error++;
            msgs.add("error3",new ActionMessage("errores.select","Descripcion de racion"));
        }
        if (esVacio(racion.getNPTotRacion())) {
            error++;
            msgs.add("error3",new ActionMessage("errores.select","Peso total"));
        }   
        if (esVacio(racion.getNCodGrupo())) {
            error++;
            msgs.add("error3",new ActionMessage("errores.select","Codigo de grupo"));
        }         
        if (error > 0) {
            return true;
        }
        return false;
    }    
}
